package com.zjp.web.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.zjp.model.member.Userinfo;
import com.zjp.service.UserService;


/*
 * 这里实现控制层的方式有多种，一般有extends  abstractController 以及implements  Controller这个接口
 * 但是在平时的项目中使用的都是这个注解方式实现，所以这里也就使用了注解的方式，使用Controller 就说明这就是控制器
 */
@Controller
/**
 * 这里的RequestMapping 可以在类上也可以不再类上，如果在类上则完整的请求路劲就是类+方法
 */
@RequestMapping(value="/user")
public class UserController {
/**
 * 自动注入业务逻辑层，注入方式使用了注解自动注入
 */
	
@Autowired
private UserService userService;


@RequestMapping(value="/test")
public String test(){
	return "first";
}

/**
 * 添加用户信息
 */
/*  增加 */
@RequestMapping(value="/save.do")
public String insert(Integer id ,String name,String sex,Userinfo member){
	Map<String,Object> map= new HashMap<String,Object>();
	map.put("id", member.getId());
	map.put("name", member.getName());
	map.put("sex", member.getSex());
	
	userService.saveUser(map);
	System.out.println("ok");
	return "index";
}

/**删除 
 * 
 */
@RequestMapping(value="/delete.do")
public String  delete(Integer id){
	userService.delUser(id);
	return "index";
}

/**
 * 修改用户信息
 */
@RequestMapping(value="/update.do")
public String update(Userinfo member){
	Map<String,Object> map= new HashMap<String,Object>();
	map.put("id",member.getId());
	map.put("name", member.getName());
	map.put("sex", member.getSex());
	userService.updateUser(map);
	return "index";
}

/**
 * 查询用户信息
 */
@RequestMapping(value="/select.do")
public String select(Integer id,Map<String,Object> map){
	List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();
	list=userService.selectUser(id);
	map.put("mylist", list);
	return "list";
}
}
